1. Field of the Invention
The invention relates to a method of mapping a set of source colors of a source color device into a set of target colors of a target color device.
2. Description of the Invention
Gamut mapping is used to reproduce an image rendered by a source color device on a target color device, since the source device and the target device typically have different gamut boundaries with respect to each other. In other words, the gamut of colors that can be reproduced by the source device is typically not the same as the gamut of colors that can be reproduced by the target device. Gamut mapping can be used to render the image from within the source device gamut boundary to within the target device gamut boundary, so as to more accurately reproduce the color image on the target device.
The term “color gamut” or “gamut” is generally used to describe the complete range of colors an image contains or a color device is able to render. It is sometimes referred to as a color gamut or the gamut color space associated, for instance, with a printer or screen display device. Gamut mapping an image for instance onto a screen or printer generally requires adjusting the colors of the image to fit in the constrained color gamut of the screen or printer. In some cases, the image being displayed does not have a wide range of colors and therefore does not fill or utilize the wider range of colors in the printer gamut or even the screen gamut. New technologies in capturing and displaying wide gamut images and new standards for wide gamut color encoding raise the question of compatibility between today's (legacy) content distribution channels and upcoming wide gamut content creation, distribution and display.
A color gamut may contain all colors that can be reproduced by a specific display or printing device or that can be transmitted or stored when using for instance a specific medium or standard. A color gamut can also be used to characterize all colors that occur in an image or in a video. Cameras, palm tops, cell phones, Internet terminals and digital picture frames generate images using specific color gamuts in YCC, Adobe RGB, bgRGB, scRGB, CIELAB, e-sRGB or ROMM digital representations.
Gamut mapping of image data from a source color gamut to a target color gamut is typically performed using a gamut mapping algorithm (“GMA”), which is a particular method of mapping color data between gamuts. A gamut mapping algorithm often makes use of data that defines the boundaries of the color gamut of the source and the target color devices, in order to obtain a reference between the two gamuts for appropriate gamut mapping of the image. Such data defining the gamut color boundary can be referred to as a gamut boundary description (“GBD”). See for instance US2007/081176.
Gamut mapping is generally performed in a device-independent color space. A very usual device-independent mapping color space is the CIE L*a*b* space. For utmost perceptual comprehensibility, the gamut mapping may also be performed in the CIE L*C*h color space. Directly in connection with the color perception by the eyes, the color may be represented by three attributes, namely the lightness representing the color lightness, the chroma representing the color brightness and the color hue representing the color type. In relation with the previous L*a*b* color space, the chroma C* is calculated according to the formula C*=√{square root over (a*2+b*2)}. The higher the C* value, the more saturated is the color. The hue h is calculated according to the formula h=arctan(b/a). Gamut mapping algorithms are generally build according to specific criterion, as, for instance, the preservation of the hue, or the preservation of the contrast, or the preservation of the saturation of colors, or the preservation of the colorimetric color reproduction. The gamut mapping procedure has generally to be optimized with respect to these criteria.
Instead of performing the gamut mapping in the 3D L*C*h color space, the generally accepted practice is to perform gamut mapping in a two-dimensional plane of lightness L and chroma C, with the color hue h being kept constant. Such a gamut mapping method is then hue-preserving. For each source color having a given hue, the mapping of this source color is performed in a L*C* plane comprising all the colors having the same hue. Instead of using in L*C* space, other two-dimensional spaces can be used, for example xy color space as defined by the CIE.
Gamut mapping algorithms that are very common map colors along mapping trajectories that are anchored to an anchor point, in the mapping color space. These mapping trajectories are generally straight lines. The anchor points generally belong to the achromatic axis (or “grey line”) of the color space. These anchor points can be chosen according to the shape of the source and destination gamuts such as described, for instance, by Montag and Fairchild in their paper entitled “Gamut mapping: Evaluation of chroma clipping techniques for three destination gamuts”, published in 1998 at the IS&T/SID Sixth Color Imaging Conference in Scottsdale. The way how the color is moved along such mapping trajectories can be various. Simple mapping algorithms clip all colors that are outside the target gamut onto the target gamut surface along the mapping trajectories. More complex mapping algorithms compress linearly all colors along the mapping trajectories by linear scaling such that they keep on the same mapping trajectories but are all inside the destination gamuts. Still more complex, non-linear parametric functions apply specific, sometimes piece-wise defined scaling operations to the colors to move them along the defined lines inside the target gamut. For example, Braun and Fairchild suggest in their publication entitled “Image Lightness Rescaling Using Sigmoidal Contrast Enhancement Functions” published in 1999 in the Proceedings of SPIE Electronic Imaging Conference (Eli99) a non-linear, S-shaped function. When mapping colors from a source gamut into a destination gamut, the above cited papers use mapping straight lines, variable anchor points and mapping functions that define how far a color on a mapping straight line needs to be moved. The mapping trajectories, the anchor points and the mapping functions can be fixed or adapted to the source and target gamut boundaries in a given mapping color space.
The mapping color space, being 3D as L*a*b* or L*C*h, or being 2D as L*C*, may also be partitioned into a plurality of color sub-spaces, each sub-space having its own gamut mapping algorithm to be apply to the source colors belonging to this color sub-space. For example, when using gamut mapping algorithms based on compression or extension along mapping trajectories anchored to anchor points as mentioned above, the mapping color space may be divided into three regions, a first region of minimum lightness, a second region of maximum lightness and a third region of intermediate lightness; in the first region, source colors will be mapped according to straight lines that are all anchored to a same first anchor point; in the second region, source colors will be mapped according to straight lines that are all anchored to a same second anchor point; and in the third region, source colors will be mapped according to straight lines that are anchored to different and variable anchor points. The article entitled “Parametric gamut mapping algorithms using variable anchor points”, published by Chae-Soo LEE, Chae-Hee LEE and Yeong-Ho HA, in Journal of Imaging Science and Technology, volume 44, number 1, page 68-89 (January-February 2000) gives an example of such a mapping method. Other mapping methods using different gamut mapping algorithms depending on the mapping color regions are disclosed in U.S. Pat. No. 5,933,253, in the article entitled “Gamut mapping in Munsell constant hue sections”, published by Gabriel MARCU during the sixth “Color Imaging Conference: Color Science, Systems, and Applications”, pp. 159-162.
The problem that rises when mapping using different gamut mapping algorithms according the partitions or regions of the mapping color space is the uniformity of the global mapping method, mainly across two partitions. Moreover, the method using variable anchor points does not have generally a smooth behavior in terms of uniformity. Such non-uniformities may create false contour defects.
In the article entitled “On the Continuity of Gamut Mapping Algorithms”, Peter Zolliker, Markus Dätwyler and Klaus Simon proposes a method to evaluate the uniformity of a global mapping method: first, two direct neighbored colors (or RGB value triplets) are transformed by a color management chain including gamut mapping. The distance between the two mapped neighbored colors (triplets) statistically analyzed over a large set of color pairs is a first criterion of uniformity. Second, a color and a circumscribing unit sphere is mapped in Lab space by gamut mapping. The volume, surface, maximum and minimum diameter of the mapped sphere statistically analyzed over a large set of colors is the second criterion of uniformity.
An object of the invention is to improve the uniformity of the gamut mapping in order, notably, to limit the false contour defects that may be associated with a lack of uniformity.